//
//  NSString+BZCreated.h
//  BZFoundation
//
//  Created by 郭艺伟 on 2017/10/1.
//  Copyright © 2017年 郭艺伟. All rights reserved.
//

#import <Foundation/Foundation.h>
/**
 *    从BOOL值中获取对应的字符串
 *
 *    @param flag 需要转换成字符串的BOOL值
 *
 *    @return 值为真时返回`YES`，否则返回`NO`
 */
FOUNDATION_EXPORT NSString *bz_NSStringFromBool(BOOL flag);
@interface NSString (BZCreated)
/**
 *    对当前字符串移除首尾空白字符后产生一个新的字符串
 *
 *    @return 返回一个移除首尾空白字符后的新字符串对象
 */
- (instancetype)bz_trimString;

/**
 *    使用调用堆栈信息生成类似"[class method:]:100"类型字符串
 *
 *    @param callstack 调用堆栈，需要最少6个元素
 */
+ (instancetype)bz_stringByCallstackSymbols:(NSArray *)callstack;

/**
 *    从char *指针性的字符串转换为NSString
 *
 *    @param pStr c风格字符串
 *
 *    @return 返回一个使用c风格字符串构建的NSString对象，如果pStr为NULL会返回空字符串
 */
+ (instancetype)bz_stringWithNullableCString:(const char *)pStr;

/**
 *    获取随机机器特征字符串，固定在16-64位字符长度
 *
 *    @return 返回随机机器特征字符串
 */
+ (instancetype)bz_blowFishString;

/**
 *    使用长度区间获取随机编码字符串
 *
 *    @param lenght 编码长度（最少location，最大为location+length）
 *
 *    @return 返回随机编码字符串，location为0返回nil
 */
+ (instancetype)bz_randomCodeWithLenghtInterval:(NSRange)lenghtInterval;

@end
